{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pd.read_csv(\"./data/stock_day.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>turnover</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-03-02</th>\n",
       "      <td>12.25</td>\n",
       "      <td>12.67</td>\n",
       "      <td>12.52</td>\n",
       "      <td>12.20</td>\n",
       "      <td>96291.73</td>\n",
       "      <td>0.32</td>\n",
       "      <td>2.62</td>\n",
       "      <td>3.30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-03</th>\n",
       "      <td>12.52</td>\n",
       "      <td>13.06</td>\n",
       "      <td>12.70</td>\n",
       "      <td>12.52</td>\n",
       "      <td>139071.61</td>\n",
       "      <td>0.18</td>\n",
       "      <td>1.44</td>\n",
       "      <td>4.76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-04</th>\n",
       "      <td>12.80</td>\n",
       "      <td>12.92</td>\n",
       "      <td>12.90</td>\n",
       "      <td>12.61</td>\n",
       "      <td>67075.44</td>\n",
       "      <td>0.20</td>\n",
       "      <td>1.57</td>\n",
       "      <td>2.30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-05</th>\n",
       "      <td>12.88</td>\n",
       "      <td>13.45</td>\n",
       "      <td>13.16</td>\n",
       "      <td>12.87</td>\n",
       "      <td>93180.39</td>\n",
       "      <td>0.26</td>\n",
       "      <td>2.02</td>\n",
       "      <td>3.19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-06</th>\n",
       "      <td>13.17</td>\n",
       "      <td>14.48</td>\n",
       "      <td>14.28</td>\n",
       "      <td>13.13</td>\n",
       "      <td>179831.72</td>\n",
       "      <td>1.12</td>\n",
       "      <td>8.51</td>\n",
       "      <td>6.16</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open   high  close    low     volume  price_change  p_change  \\\n",
       "2015-03-02  12.25  12.67  12.52  12.20   96291.73          0.32      2.62   \n",
       "2015-03-03  12.52  13.06  12.70  12.52  139071.61          0.18      1.44   \n",
       "2015-03-04  12.80  12.92  12.90  12.61   67075.44          0.20      1.57   \n",
       "2015-03-05  12.88  13.45  13.16  12.87   93180.39          0.26      2.02   \n",
       "2015-03-06  13.17  14.48  14.28  13.13  179831.72          1.12      8.51   \n",
       "\n",
       "            turnover  \n",
       "2015-03-02      3.30  \n",
       "2015-03-03      4.76  \n",
       "2015-03-04      2.30  \n",
       "2015-03-05      3.19  \n",
       "2015-03-06      6.16  "
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = data.drop([\"ma5\",\"ma10\",\"ma20\",\"v_ma5\",\"v_ma10\",\"v_ma20\"], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>turnover</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-02-27</th>\n",
       "      <td>23.53</td>\n",
       "      <td>25.88</td>\n",
       "      <td>24.16</td>\n",
       "      <td>23.53</td>\n",
       "      <td>95578.03</td>\n",
       "      <td>0.63</td>\n",
       "      <td>2.68</td>\n",
       "      <td>2.39</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-26</th>\n",
       "      <td>22.80</td>\n",
       "      <td>23.78</td>\n",
       "      <td>23.53</td>\n",
       "      <td>22.80</td>\n",
       "      <td>60985.11</td>\n",
       "      <td>0.69</td>\n",
       "      <td>3.02</td>\n",
       "      <td>1.53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-23</th>\n",
       "      <td>22.88</td>\n",
       "      <td>23.37</td>\n",
       "      <td>22.82</td>\n",
       "      <td>22.71</td>\n",
       "      <td>52914.01</td>\n",
       "      <td>0.54</td>\n",
       "      <td>2.42</td>\n",
       "      <td>1.32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-22</th>\n",
       "      <td>22.25</td>\n",
       "      <td>22.76</td>\n",
       "      <td>22.28</td>\n",
       "      <td>22.02</td>\n",
       "      <td>36105.01</td>\n",
       "      <td>0.36</td>\n",
       "      <td>1.64</td>\n",
       "      <td>0.90</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-14</th>\n",
       "      <td>21.49</td>\n",
       "      <td>21.99</td>\n",
       "      <td>21.92</td>\n",
       "      <td>21.48</td>\n",
       "      <td>23331.04</td>\n",
       "      <td>0.44</td>\n",
       "      <td>2.05</td>\n",
       "      <td>0.58</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open   high  close    low    volume  price_change  p_change  \\\n",
       "2018-02-27  23.53  25.88  24.16  23.53  95578.03          0.63      2.68   \n",
       "2018-02-26  22.80  23.78  23.53  22.80  60985.11          0.69      3.02   \n",
       "2018-02-23  22.88  23.37  22.82  22.71  52914.01          0.54      2.42   \n",
       "2018-02-22  22.25  22.76  22.28  22.02  36105.01          0.36      1.64   \n",
       "2018-02-14  21.49  21.99  21.92  21.48  23331.04          0.44      2.05   \n",
       "\n",
       "            turnover  \n",
       "2018-02-27      2.39  \n",
       "2018-02-26      1.53  \n",
       "2018-02-23      1.32  \n",
       "2018-02-22      0.90  \n",
       "2018-02-14      0.58  "
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 算术运算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2018-02-27    33.53\n",
       "2018-02-26    32.80\n",
       "2018-02-23    32.88\n",
       "2018-02-22    32.25\n",
       "2018-02-14    31.49\n",
       "Name: open, dtype: float64"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data[\"open\"].add(10).head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "# data[\"open\"]+10  # 一般不会这么使用"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 逻辑运算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "# data[\"close\"] > 20"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>turnover</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-02-27</th>\n",
       "      <td>23.53</td>\n",
       "      <td>25.88</td>\n",
       "      <td>24.16</td>\n",
       "      <td>23.53</td>\n",
       "      <td>95578.03</td>\n",
       "      <td>0.63</td>\n",
       "      <td>2.68</td>\n",
       "      <td>2.39</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-01</th>\n",
       "      <td>23.71</td>\n",
       "      <td>23.86</td>\n",
       "      <td>22.42</td>\n",
       "      <td>22.22</td>\n",
       "      <td>66414.64</td>\n",
       "      <td>-1.30</td>\n",
       "      <td>-5.48</td>\n",
       "      <td>1.66</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-31</th>\n",
       "      <td>23.85</td>\n",
       "      <td>23.98</td>\n",
       "      <td>23.72</td>\n",
       "      <td>23.31</td>\n",
       "      <td>49155.02</td>\n",
       "      <td>-0.11</td>\n",
       "      <td>-0.46</td>\n",
       "      <td>1.23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-30</th>\n",
       "      <td>23.71</td>\n",
       "      <td>24.08</td>\n",
       "      <td>23.83</td>\n",
       "      <td>23.70</td>\n",
       "      <td>32420.43</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.21</td>\n",
       "      <td>0.81</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-29</th>\n",
       "      <td>24.40</td>\n",
       "      <td>24.63</td>\n",
       "      <td>23.77</td>\n",
       "      <td>23.72</td>\n",
       "      <td>65469.81</td>\n",
       "      <td>-0.73</td>\n",
       "      <td>-2.98</td>\n",
       "      <td>1.64</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open   high  close    low    volume  price_change  p_change  \\\n",
       "2018-02-27  23.53  25.88  24.16  23.53  95578.03          0.63      2.68   \n",
       "2018-02-01  23.71  23.86  22.42  22.22  66414.64         -1.30     -5.48   \n",
       "2018-01-31  23.85  23.98  23.72  23.31  49155.02         -0.11     -0.46   \n",
       "2018-01-30  23.71  24.08  23.83  23.70  32420.43          0.05      0.21   \n",
       "2018-01-29  24.40  24.63  23.77  23.72  65469.81         -0.73     -2.98   \n",
       "\n",
       "            turnover  \n",
       "2018-02-27      2.39  \n",
       "2018-02-01      1.66  \n",
       "2018-01-31      1.23  \n",
       "2018-01-30      0.81  \n",
       "2018-01-29      1.64  "
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data[data[\"open\"] > 23].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>turnover</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-02-27</th>\n",
       "      <td>23.53</td>\n",
       "      <td>25.88</td>\n",
       "      <td>24.16</td>\n",
       "      <td>23.53</td>\n",
       "      <td>95578.03</td>\n",
       "      <td>0.63</td>\n",
       "      <td>2.68</td>\n",
       "      <td>2.39</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-01</th>\n",
       "      <td>23.71</td>\n",
       "      <td>23.86</td>\n",
       "      <td>22.42</td>\n",
       "      <td>22.22</td>\n",
       "      <td>66414.64</td>\n",
       "      <td>-1.30</td>\n",
       "      <td>-5.48</td>\n",
       "      <td>1.66</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-31</th>\n",
       "      <td>23.85</td>\n",
       "      <td>23.98</td>\n",
       "      <td>23.72</td>\n",
       "      <td>23.31</td>\n",
       "      <td>49155.02</td>\n",
       "      <td>-0.11</td>\n",
       "      <td>-0.46</td>\n",
       "      <td>1.23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-30</th>\n",
       "      <td>23.71</td>\n",
       "      <td>24.08</td>\n",
       "      <td>23.83</td>\n",
       "      <td>23.70</td>\n",
       "      <td>32420.43</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.21</td>\n",
       "      <td>0.81</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-16</th>\n",
       "      <td>23.40</td>\n",
       "      <td>24.60</td>\n",
       "      <td>24.40</td>\n",
       "      <td>23.30</td>\n",
       "      <td>101295.42</td>\n",
       "      <td>0.96</td>\n",
       "      <td>4.10</td>\n",
       "      <td>2.54</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open   high  close    low     volume  price_change  p_change  \\\n",
       "2018-02-27  23.53  25.88  24.16  23.53   95578.03          0.63      2.68   \n",
       "2018-02-01  23.71  23.86  22.42  22.22   66414.64         -1.30     -5.48   \n",
       "2018-01-31  23.85  23.98  23.72  23.31   49155.02         -0.11     -0.46   \n",
       "2018-01-30  23.71  24.08  23.83  23.70   32420.43          0.05      0.21   \n",
       "2018-01-16  23.40  24.60  24.40  23.30  101295.42          0.96      4.10   \n",
       "\n",
       "            turnover  \n",
       "2018-02-27      2.39  \n",
       "2018-02-01      1.66  \n",
       "2018-01-31      1.23  \n",
       "2018-01-30      0.81  \n",
       "2018-01-16      2.54  "
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data[(data[\"open\"]>23)&(data[\"open\"]<24)].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>turnover</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-02-27</th>\n",
       "      <td>23.53</td>\n",
       "      <td>25.88</td>\n",
       "      <td>24.16</td>\n",
       "      <td>23.53</td>\n",
       "      <td>95578.03</td>\n",
       "      <td>0.63</td>\n",
       "      <td>2.68</td>\n",
       "      <td>2.39</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-02-01</th>\n",
       "      <td>23.71</td>\n",
       "      <td>23.86</td>\n",
       "      <td>22.42</td>\n",
       "      <td>22.22</td>\n",
       "      <td>66414.64</td>\n",
       "      <td>-1.30</td>\n",
       "      <td>-5.48</td>\n",
       "      <td>1.66</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-31</th>\n",
       "      <td>23.85</td>\n",
       "      <td>23.98</td>\n",
       "      <td>23.72</td>\n",
       "      <td>23.31</td>\n",
       "      <td>49155.02</td>\n",
       "      <td>-0.11</td>\n",
       "      <td>-0.46</td>\n",
       "      <td>1.23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-30</th>\n",
       "      <td>23.71</td>\n",
       "      <td>24.08</td>\n",
       "      <td>23.83</td>\n",
       "      <td>23.70</td>\n",
       "      <td>32420.43</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.21</td>\n",
       "      <td>0.81</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-16</th>\n",
       "      <td>23.40</td>\n",
       "      <td>24.60</td>\n",
       "      <td>24.40</td>\n",
       "      <td>23.30</td>\n",
       "      <td>101295.42</td>\n",
       "      <td>0.96</td>\n",
       "      <td>4.10</td>\n",
       "      <td>2.54</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open   high  close    low     volume  price_change  p_change  \\\n",
       "2018-02-27  23.53  25.88  24.16  23.53   95578.03          0.63      2.68   \n",
       "2018-02-01  23.71  23.86  22.42  22.22   66414.64         -1.30     -5.48   \n",
       "2018-01-31  23.85  23.98  23.72  23.31   49155.02         -0.11     -0.46   \n",
       "2018-01-30  23.71  24.08  23.83  23.70   32420.43          0.05      0.21   \n",
       "2018-01-16  23.40  24.60  24.40  23.30  101295.42          0.96      4.10   \n",
       "\n",
       "            turnover  \n",
       "2018-02-27      2.39  \n",
       "2018-02-01      1.66  \n",
       "2018-01-31      1.23  \n",
       "2018-01-30      0.81  \n",
       "2018-01-16      2.54  "
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.query(\"open<24 & open>23\").head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>turnover</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-02-01</th>\n",
       "      <td>23.71</td>\n",
       "      <td>23.86</td>\n",
       "      <td>22.42</td>\n",
       "      <td>22.22</td>\n",
       "      <td>66414.64</td>\n",
       "      <td>-1.30</td>\n",
       "      <td>-5.48</td>\n",
       "      <td>1.66</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-01-30</th>\n",
       "      <td>23.71</td>\n",
       "      <td>24.08</td>\n",
       "      <td>23.83</td>\n",
       "      <td>23.70</td>\n",
       "      <td>32420.43</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.21</td>\n",
       "      <td>0.81</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017-12-19</th>\n",
       "      <td>23.23</td>\n",
       "      <td>23.66</td>\n",
       "      <td>23.46</td>\n",
       "      <td>23.23</td>\n",
       "      <td>43068.70</td>\n",
       "      <td>0.31</td>\n",
       "      <td>1.34</td>\n",
       "      <td>1.08</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open   high  close    low    volume  price_change  p_change  \\\n",
       "2018-02-01  23.71  23.86  22.42  22.22  66414.64         -1.30     -5.48   \n",
       "2018-01-30  23.71  24.08  23.83  23.70  32420.43          0.05      0.21   \n",
       "2017-12-19  23.23  23.66  23.46  23.23  43068.70          0.31      1.34   \n",
       "\n",
       "            turnover  \n",
       "2018-02-01      1.66  \n",
       "2018-01-30      0.81  \n",
       "2017-12-19      1.08  "
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data[data[\"open\"].isin([23.23, 23.71])]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 统计运算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>turnover</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>643.000000</td>\n",
       "      <td>643.000000</td>\n",
       "      <td>643.000000</td>\n",
       "      <td>643.000000</td>\n",
       "      <td>643.000000</td>\n",
       "      <td>643.000000</td>\n",
       "      <td>643.000000</td>\n",
       "      <td>643.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>21.272706</td>\n",
       "      <td>21.900513</td>\n",
       "      <td>21.336267</td>\n",
       "      <td>20.771835</td>\n",
       "      <td>99905.519114</td>\n",
       "      <td>0.018802</td>\n",
       "      <td>0.190280</td>\n",
       "      <td>2.936190</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>3.930973</td>\n",
       "      <td>4.077578</td>\n",
       "      <td>3.942806</td>\n",
       "      <td>3.791968</td>\n",
       "      <td>73879.119354</td>\n",
       "      <td>0.898476</td>\n",
       "      <td>4.079698</td>\n",
       "      <td>2.079375</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>12.250000</td>\n",
       "      <td>12.670000</td>\n",
       "      <td>12.360000</td>\n",
       "      <td>12.200000</td>\n",
       "      <td>1158.120000</td>\n",
       "      <td>-3.520000</td>\n",
       "      <td>-10.030000</td>\n",
       "      <td>0.040000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>19.000000</td>\n",
       "      <td>19.500000</td>\n",
       "      <td>19.045000</td>\n",
       "      <td>18.525000</td>\n",
       "      <td>48533.210000</td>\n",
       "      <td>-0.390000</td>\n",
       "      <td>-1.850000</td>\n",
       "      <td>1.360000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>21.440000</td>\n",
       "      <td>21.970000</td>\n",
       "      <td>21.450000</td>\n",
       "      <td>20.980000</td>\n",
       "      <td>83175.930000</td>\n",
       "      <td>0.050000</td>\n",
       "      <td>0.260000</td>\n",
       "      <td>2.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>23.400000</td>\n",
       "      <td>24.065000</td>\n",
       "      <td>23.415000</td>\n",
       "      <td>22.850000</td>\n",
       "      <td>127580.055000</td>\n",
       "      <td>0.455000</td>\n",
       "      <td>2.305000</td>\n",
       "      <td>3.915000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>34.990000</td>\n",
       "      <td>36.350000</td>\n",
       "      <td>35.210000</td>\n",
       "      <td>34.010000</td>\n",
       "      <td>501915.410000</td>\n",
       "      <td>3.030000</td>\n",
       "      <td>10.030000</td>\n",
       "      <td>12.560000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open        high       close         low         volume  \\\n",
       "count  643.000000  643.000000  643.000000  643.000000     643.000000   \n",
       "mean    21.272706   21.900513   21.336267   20.771835   99905.519114   \n",
       "std      3.930973    4.077578    3.942806    3.791968   73879.119354   \n",
       "min     12.250000   12.670000   12.360000   12.200000    1158.120000   \n",
       "25%     19.000000   19.500000   19.045000   18.525000   48533.210000   \n",
       "50%     21.440000   21.970000   21.450000   20.980000   83175.930000   \n",
       "75%     23.400000   24.065000   23.415000   22.850000  127580.055000   \n",
       "max     34.990000   36.350000   35.210000   34.010000  501915.410000   \n",
       "\n",
       "       price_change    p_change    turnover  \n",
       "count    643.000000  643.000000  643.000000  \n",
       "mean       0.018802    0.190280    2.936190  \n",
       "std        0.898476    4.079698    2.079375  \n",
       "min       -3.520000  -10.030000    0.040000  \n",
       "25%       -0.390000   -1.850000    1.360000  \n",
       "50%        0.050000    0.260000    2.500000  \n",
       "75%        0.455000    2.305000    3.915000  \n",
       "max        3.030000   10.030000   12.560000  "
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "open                34.99\n",
       "high                36.35\n",
       "close               35.21\n",
       "low                 34.01\n",
       "volume          501915.41\n",
       "price_change         3.03\n",
       "p_change            10.03\n",
       "turnover            12.56\n",
       "dtype: float64"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.max(0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [],
   "source": [
    "# data.max(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.DataFrame({'COL1' : [2,3,4,5,4,2],\n",
    "                   'COL2' : [0,1,2,3,4,2]})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>COL1</th>\n",
       "      <th>COL2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   COL1  COL2\n",
       "0     2     0\n",
       "1     3     1\n",
       "2     4     2\n",
       "3     5     3\n",
       "4     4     4\n",
       "5     2     2"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "COL1    3.5\n",
       "COL2    2.0\n",
       "dtype: float64"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "open            2015-06-15\n",
       "high            2015-06-10\n",
       "close           2015-06-12\n",
       "low             2015-06-12\n",
       "volume          2017-10-26\n",
       "price_change    2015-06-09\n",
       "p_change        2015-08-28\n",
       "turnover        2017-10-26\n",
       "dtype: object"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.idxmax()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "open            2015-03-02\n",
       "high            2015-03-02\n",
       "close           2015-09-02\n",
       "low             2015-03-02\n",
       "volume          2016-07-06\n",
       "price_change    2015-06-15\n",
       "p_change        2015-09-01\n",
       "turnover        2016-07-06\n",
       "dtype: object"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.idxmin()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = data.sort_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>close</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>price_change</th>\n",
       "      <th>p_change</th>\n",
       "      <th>turnover</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-03-02</th>\n",
       "      <td>12.25</td>\n",
       "      <td>12.67</td>\n",
       "      <td>12.52</td>\n",
       "      <td>12.20</td>\n",
       "      <td>96291.73</td>\n",
       "      <td>0.32</td>\n",
       "      <td>2.62</td>\n",
       "      <td>3.30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-03</th>\n",
       "      <td>12.52</td>\n",
       "      <td>13.06</td>\n",
       "      <td>12.70</td>\n",
       "      <td>12.52</td>\n",
       "      <td>139071.61</td>\n",
       "      <td>0.18</td>\n",
       "      <td>1.44</td>\n",
       "      <td>4.76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-04</th>\n",
       "      <td>12.80</td>\n",
       "      <td>12.92</td>\n",
       "      <td>12.90</td>\n",
       "      <td>12.61</td>\n",
       "      <td>67075.44</td>\n",
       "      <td>0.20</td>\n",
       "      <td>1.57</td>\n",
       "      <td>2.30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-05</th>\n",
       "      <td>12.88</td>\n",
       "      <td>13.45</td>\n",
       "      <td>13.16</td>\n",
       "      <td>12.87</td>\n",
       "      <td>93180.39</td>\n",
       "      <td>0.26</td>\n",
       "      <td>2.02</td>\n",
       "      <td>3.19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-06</th>\n",
       "      <td>13.17</td>\n",
       "      <td>14.48</td>\n",
       "      <td>14.28</td>\n",
       "      <td>13.13</td>\n",
       "      <td>179831.72</td>\n",
       "      <td>1.12</td>\n",
       "      <td>8.51</td>\n",
       "      <td>6.16</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open   high  close    low     volume  price_change  p_change  \\\n",
       "2015-03-02  12.25  12.67  12.52  12.20   96291.73          0.32      2.62   \n",
       "2015-03-03  12.52  13.06  12.70  12.52  139071.61          0.18      1.44   \n",
       "2015-03-04  12.80  12.92  12.90  12.61   67075.44          0.20      1.57   \n",
       "2015-03-05  12.88  13.45  13.16  12.87   93180.39          0.26      2.02   \n",
       "2015-03-06  13.17  14.48  14.28  13.13  179831.72          1.12      8.51   \n",
       "\n",
       "            turnover  \n",
       "2015-03-02      3.30  \n",
       "2015-03-03      4.76  \n",
       "2015-03-04      2.30  \n",
       "2015-03-05      3.19  \n",
       "2015-03-06      6.16  "
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [],
   "source": [
    "stock_rise = data[\"p_change\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [],
   "source": [
    "# stock_rise.cumsum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "stock_rise.cumsum().plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 自定义运算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "open     22.74\n",
       "close    22.85\n",
       "dtype: float64"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data[[\"open\", \"close\"]].apply(lambda x: x.max()-x.min(), axis=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
